Server: Netscape-Enterprise/2.0a
Date: Tue, 26 Nov 1996 18:39:17 GMT
Accept-ranges: bytes
Last-modified: Thu, 21 Nov 1996 18:20:26 GMT
Content-length: 10686
Content-type: text/html

<html>
<head>
<title>Florida Tech, CS:  Software Development I (Fall 1996)</title>
</head>

<body>
<h1>CSE 1001: Fundamentals of Software Development I (Fall 1996)</h1>

<h2>General Information</h2>

<h3>Instructor</h3>
<!WA0><a href="http://www.cs.fit.edu/~ryan/">Ryan Stansifer</a>,
contact info at
<!WA1><a href="http://www.cs.fit.edu/~ryan/">
<tt>http://www.cs.fit.edu/~ryan/</tt>
</a>,
e-mail address
<!WA2><a href="mailto:ryan@cs.fit.edu"><tt>ryan@cs.fit.edu</tt></a>

<h3>Lectures</h3>
<p>
Lectures are from 11:00 to 12:15 Tuesdays and Thursdays in
A 106 (the Aeronautics Building).
</p>

<h3>Lab sections</h3>
<p>
The class is divided into three lab sections which meet in
the <!WA3><a href="http://cs.fit.edu/~ryan/s332/">CS PC Lab</a>,
S 332 (the Crawford Science Building).
Labs meet at
13:30 to 15:20 on Tuesday,
and
10:00 to 11:50
and 15:00 to 16:50 on Wednesday.
The lab instructor is
Juan Blanco
<!WA4><a href="mailto:jblanco@cs.fit.edu"><tt>&lt;jblanco@cs.fit.edu&gt;</tt></a>
</p>

<h3>Class URLs</h3>

<!WA5><a href="http://www.cs.fit.edu/~ryan/cse1001/">
<tt>http://www.cs.fit.edu/~ryan/cse1001/</tt><br>
<!WA6><a href="http://www.cs.fit.edu/~jblanco/cse1001-lab.htm">
<tt>http://www.cs.fit.edu/~jblanco/cse1001-lab.htm</tt><br>
</a>


<h3>Catalog Description</h3>

<p>
<!WA7><A HREF="http://www.cs.fit.edu/academic/catalog/node33.html#cse1001">CSE 1001</A>.
An introduction to software development as it applies to small programs. Students learn to program in a
higher-level language and will learn to read, understand, write and evolve typical small-higher-level
programs. 
</p>

<h2>Course Goals</h2>
<p>
In this class we expect students to learn
<ul>
  <li>what makes up computer science,
  <li>how to write simple programs in the Ada programming language, and
  <li>how to solve problems using a computer
</ul>
This class has no prerequisites.
</p>

<p>
Another document gives a more detailed list
of <!WA8><a href="http://cs.fit.edu/~ryan/cse1001/topics.html">topics</a> to be covered in this class.
</p>

<p>
Students often come with a wide variety of backgrounds and
vastly different experience.
As a consequence some students may be bored and some may be lost.
Your patience, support of your classmates,
and participation in class are appreciated.
</p>

<h2>Textbook</h2>
<p>
The textbook for this class is the
<blockquote>
Nell Dale, Chip Weems, and John McCormick.
<em>Programming and Problem Solving with Ada.</em>
D. C. Heath, Lexington, Massachusetts, 1994.
ISBN 0-669-29360-1.
</blockquote>
We will follow the book quite closely.
We expect to cover all the chapters in the text up to 12.
If time permits, we may cover some additional material.
</p>

<p>
The book comes with a diskette containing all the Ada programs
appearing in the book;
the programs are also available on the WWW (see below).
</p>


<h2>Information on the net</h2>

<p>
<ul>
  <li><!WA9><a href="http://cs.fit.edu/~ryan/ada/Ada95-ss.html">Ada95: Simplified Syntax</a> defines a basic
      portion of the language corresponding roughly to the portion of Ada covered in cse1001.
  <li><!WA10><a href="http://lglwww.epfl.ch/Ada/LRM/9X/rm9x/rm9x-toc.html">Ada 95 Language Reference Manual</a>.
      A hypertext version of the
      revised international standard (ISO/IEC 8652:1995)
      <i>Information Technology--Programming Languages--Ada</i>.
  <li><!WA11><a href="http://lglwww.epfl.ch/Ada/LRM/9X/Rationale/rat95html/rat95-contents.html">Ada 95 Rationale</a>
  <li><!WA12><a href="http://lglwww.epfl.ch/Ada/FAQ/comp-lang-ada.html#title">FAQ</a>.
      Frequently Asked Questions about Ada.
  <li><!WA13><a href="http://www.gnat.com/">Ada Core Technologies</a> developers of
      the GNU Ada Translator (GNAT);
      <!WA14><a href="http://cs.fit.edu/~ryan/ada/gnatinfo.txt">How to use the GNAT [local copy; 73K bytes]</a>
  <li><!WA15><a href="ftp://cs.nyu.edu/pub/gnat/macs-ada-mode-2.23.tar.gz">ada-mode</a> for Emacs
  <li><!WA16><a href="http://reality.sgi.com/employees/quiggle_engr/aimap">aimap</a> Perl script for case of identifers
  <li><!WA17><a href="http://cs.fit.edu/~ryan/ada/ada-on-tuck.html">How to run GNAT on Tuck</a>
  <li><!WA18><a href="http://sw-eng.falls-church.va.us/AdaIC/">Ada Information Clearinghouse Home Page</a>
  <li>The special interest group on Ada has a WWW page <!WA19><a href="http://info.acm.org/sigada/">World Wide Web Home Page for ACM SIGAda</a>
      that contains information about SIGAda and
      pointers to other source of information about Ada
      including <!WA20><a href="http://info.acm.org/sigada/jobs/jobs.html">Ada Related Jobs</a>
  <li>Information about <!WA21><a href="http://cs.fit.edu/~ryan/ada/lovelace.html">Augusta Ada Bryan</a>
  <li>The
      <!WA22><a href="http://137.142.20.11/csc/textbooks/programming/">programs</a>
      appearing in <i>Programming and Problem Solving with Ada</i>
      by Dale, Weems, and McCormick.
      Also a local, old copy of the
      <!WA23><a href="http://cs.fit.edu/~ryan/ada/dwm/">programs</a>.

  <li><!WA24><a href="ftp://ftp.brighton.ac.uk/pub/je/gnide05.zip">An Ada IDE</a>
      (224K), a graphical IDE for the Windows 95/NT port of the GNAT Ada 95 compiler. This is
      released under the terms of the GNU General Public License, and includes Borland Delphi 2.0 source
      code. 

</ul>
</p>

<h2>How to get an Ada Compiler</h2>

<p>
You do not need to get an Ada compiler;
will be using the GNAT compiler and it is available both in the CS PC lab (S 332),
and by anyone with an account on <tt>tuck.cs.fit.edu</tt>.
</p>

<p>
If you would like your own Ada compiler,
and you have a (large and fast) computer,
the GNAT compiler is free.
Down-load the distribution from the
<!WA25><a href="http://www.gnat.com/">Ada Core Technologies WWW Page</a>.
</p>

<h2>Programming Style</h2>
<p>
A lengthy and detailed document available on the WWW
<!WA26><a href="http://www.cs.fit.edu/~ryan/ada83-style.txt"><tt>http://www.cs.fit.edu/~ryan/ada83-style.txt</tt></a>
 gives specific and sensible advice about writing clear Ada programs.
You should at all times heed their advice.
No Ada program will be considered completely correct unless it
is a model of clarity and good style.
A shorter extract from this document will be handed out in lab.
</p>

<p>
A lengthy and detailed guide for the development of
well-constructed programs in general can be found in the following book. 
It is full of practical advice
and examples of bad and good program fragments mostly in C and Pascal.
<blockquote>
Steve McConnell.
<em>Code Complete.</em>
Microsoft Press, Redmond, Washington, 1993.
ISBN 1-55615-484-4.
</blockquote>
</p>

<h2>Classwork</h2>
<p>
In addition to the lab projects,
there will be three in-class midterm examinations
and a final.
You are encouraged to read the textbook in preparation
for class and to work the exercises at the end of
the chapters.
</p>


<h2>Grading</h2>
<p>
There will be three midterms and a final in the class.
Lab projects will count 45% of the total grade.
Each midterm will count 10% and the final 25%.
Each exam and lab project will be assigned a numeric score.
The average numeric score
is roughly equivalent to a B- letter grade.
The letter grade for the class will be assigned to each student
based on the weighted sum of these numeric scores.
Your grade is determined by how you do relatively to the rest
of the class,
not by the magnitude of your numeric scores.
</p>

<p>
All work is to be your own.
On tests, be sure to explain your answers as if you were
tutoring someone else.
</p>

<center>
<!WA27><img width=515 height=200 alt="humor" src="http://cs.fit.edu/~ryan/cartoons/peanuts.jpg">
</center>

<p>
For each student the
<!WA28><a href="http://cs.fit.edu/~ryan/cse1001/grades.txt">numeric scores</a> for the lab
assignments and exams are recorded.
If you have any question about your standing in the class,
or if some score has been recorded wrong,
please contact me immediately.
Corrections will not be made long after the due dates.
</p>

<h2>Grade distribution</h2>

In the past the grade distribution has looked like this:
<pre>
     Fall 1994   Fall 1995
  A     5 15%      12 25% 
  B    11 32%      18 38%
  C    10 29%      12 25%
  D     4 12%       3  6%
  F     5 15%       3  6%
       ------      ------
       34          48
</pre>


<h2>Calendar and Important Dates</h2>

<pre>
         Aug                    Sep                    Oct        
 S  M Tu  W Th  F  S    S  M Tu  W Th  F  S    S  M Tu  W Th  F  S
             1  2  3    1  2  3  4  5  6  7          1  2  3  4  5
 4  5  6  7  8  9 10    8  9 10 11 12 13 14    6  7  8  9 10 11 12
11 12 13 14 15 16 17   15 16 17 18 19 20 21   13 14 15 16 17 18 19
18 19 20 21 22 23 24   22 23 24 25 26 27 28   20 21 22 23 24 25 26
25 26 27 28 29 30 31   29 30                  27 28 29 30 31      

                    Nov                    Dec
            S  M Tu  W Th  F  S    S  M Tu  W Th  F  S
                           1  2    1  2  3  4  5  6  7
            3  4  5  6  7  8  9    8  9 10 11 12 13 14
           10 11 12 13 14 15 16   15 16 17 18 19 20 21
           17 18 19 20 21 22 23   22 23 24 25 26 27 28
           24 25 26 27 28 29 30   29 30 31
</pre>

<center>
<table cellpadding=8 border>
  <tr>
    <td>Tuesday,  August    27, 1996</td><td>first lecture</td>
  </tr>
  <tr>
    <td>Thursday,  August    29, 1996</td><td>Advisor/Advisee luncheon (no class)</td>
  </tr>
  <tr>
    <td>Monday,   September  2, 1996</td><td>no classes--Labor Day holiday</td>
  </tr>
  <tr>
    <td>Thursday, September 19, 1996</td><td><!WA29><a href="http://cs.fit.edu/~ryan/cse1001/mid1.html">first midterm</a>, Chapters 1-4</td>
  </tr>
  <tr>
    <td>Tuesday, October 15, 1996</td><td><!WA30><a href="http://cs.fit.edu/~ryan/cse1001/mid2.html">second midterm</a>, Chapters 5, 6</td>
  </tr>
  <tr>
    <td>Tuesday, November 12, 1996</td><td><!WA31><a href="http://cs.fit.edu/~ryan/cse1001/mid3.html">third midterm</a>, Chapters 7-9</td>
  </tr>
  <tr>
    <td>Thursday and Friday, November 28-29, 1996</td><td>no classes--Thanksgiving holiday</td>
  </tr>
  <tr>
    <td>Tuesday, December 10, 1996</td><td>final exam, Chapters 1-12 (3:30pm-5:30pm)</td>
  </tr>
</ul>
</table>
</center>

<h2>Quote by E. W. Dijkstra</h2>

<blockquote>
<!--
We <em>now</em> know that electronic technology
has no more to contribute to computing than the physical equipment.
-->
We <em>now</em> know that a programmable computer is no more and
no less than an extremely handy device for realizing
any conceivable mechanism without changing a single wire,
and that the core challenge for computing science is hence a conceptual one,
viz. what (abstract) mechanisms we can conceive without getting
lost in the complexities of our own making.
</blockquote>

<p align=right>
E. W. Dijkstra,
"On a Cultural Gap,"
<i>The Mathematical Intelligencer</i>,
volume 8, number 1, 1998, page 49.
</p>

<hr>
<address><!WA32><a href="http://www.cs.fit.edu/~ryan/">Ryan Stansifer</a> <!WA33><a href="mailto:ryan@cs.fit.edu">&lt;ryan@cs.fit.edu&gt;</a></address>
Document location:  <tt>http://www.cs.fit.edu/~ryan/cse1001/</tt><br>
<!-- hhmts start -->
Last modified: Thu Nov 21 13:20:26 EST 1996
<!-- hhmts end -->
</body> </html>
